package com.appkubes.mall.core.entity;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * 账户变动记录
 * @author Rongjie
 */
@Data
@TableName("mall_user_account_history")
@KeySequence(value = "mall_user_account_history_SEQ")
@ApiModel(value = "MallUserAccountHistory对象")
public class MallUserAccountHistory implements Serializable{

       @ApiModelProperty(value = "应用key")
       private String appKey;

       @TableId(value = "account_source_key", type = IdType.UUID)
       @ApiModelProperty(value = "历史记录表")
       private String accountSourceKey;

       @ApiModelProperty(value = "用户key")
       private String userKey;

       @ApiModelProperty(value = "佣金/手续费")
       private BigDecimal brokerage;

       @ApiModelProperty(value = "来源类型: ORDER/SHARE")
       private String sourceType;

       @ApiModelProperty(value = "来源表主键")
       private String sourceKey;

       @ApiModelProperty(value = "来源时间")
       private Date sourceTime;

       @ApiModelProperty(value = "来源对象状态")
       private String sourceStatus;

       @ApiModelProperty(value = "弹性域类型: ORDER")
       private String flexType;

       @ApiModelProperty(value = "弹性域1")
       private String flexSegment1;

       @ApiModelProperty(value = "弹性域2")
       private String flexSegment2;

       @ApiModelProperty(value = "弹性域3")
       private String flexSegment3;

       private Date createTime;

       @ApiModelProperty(value = "PENDING:未发放, CONFIRM:已确认")
       private String state;

       @ApiModelProperty(value = "版本号", example = "1")
       @Version
       private Integer version;

}
